package com.xuhuan.practice.service;

import com.xuhuan.practice.dto.article.ArticleInfoDTO;
import com.xuhuan.practice.dto.page.PageResult;
import com.xuhuan.practice.entity.Article;

/**
 * @author: huan.xu
 * @create: 2024/6/11 22:00
 * @description: 文章管理接口
 **/
public interface ArticleService {

  /**
   * 新增文章
   *
   * @param articleInfoDTO
   */
  void add(ArticleInfoDTO articleInfoDTO);

  /**
   * 根据id查询
   * @param articleId
   * @return
   */
  Article getById(Integer articleId);

  /**
   * 根据Id删除
   * @param articleId
   */
  void deleteById(Integer articleId);

  /**
   * 更新文章
   * @param article
   */
  void update(Article article);

  /**
   * 文章列表分页查询
   * @param pageNum 页数
   * @param pageSize 每页条数
   * @param categoryId 文章分类id
   * @param state 文章状态
   * @return
   */
  PageResult<ArticleInfoDTO> list(Integer pageNum, Integer pageSize, Integer categoryId, String state);
}
